from flask import Flask, request, session, redirect


def auth():
    path = request.path
    if path.startswith("/static") :  # 静态资源不需要验证
        return None
    # return None表示不拦截，直接放行
    if path == "/login":  # 如果是登录页面,不校验用户是否有登录信息
        return None

    session_info = session.get("user_info")  # 不是登录页面，获取登录信息
    if session_info:  # 如果有登录信息，放行
        return None
    else:
        return redirect("/login")  # 没有登录信息，重定向到登录页面


def create_app():
    app = Flask(__name__)
    app.secret_key = "dvepvjdsv6843gwijgpemvcsd6312"

    from .views import account
    from .views import oders

    app.register_blueprint(account.ac)  # 注册账户蓝图
    app.register_blueprint(oders.od)  # 注册订单蓝图

    app.before_request(auth)  # 注册拦截器, auth 为空时表示不拦截

    return app


# if __name__ =="__main__":
#     app.run()
